
package hk.ces.oxfam.patch.result;

import hk.ces.oxfam.patch.sql.PreparedSQL;
import java.util.List;
import java.util.Set;

/**
 *
 * @author ReutyCheng
 */
public interface SQLResult extends DataResult
{
  PreparedSQL getPreparedSQL();

  Set<String> getTableNames();

  String[] getColumnNames();
  
  int getColumnIndex(String columnName, boolean ignoreCase);

  String getColumnName(int columnIndex);

  <T> List<T> getColumnValue(String columnName, boolean ignoreCase, Class<T> clazz);
  
  <T> T getValue(int resultsIndex, String columnName, boolean ignoreCase, Class<T> clazz);

  int getTableCount();

  boolean isTableExist(String tableName, boolean ignoreCase);

  boolean isColumnExist(String columnName, boolean ignoreCase);
}
